package 力扣热题100;


public class LeetCode24 {
    /**
     * 若 dp[i-1]<= 0 ，说明 dp[i - 1] 对 dp[i]=dp[i]+dp[i-1] 产生负贡献，
     * 即 dp[i-1] + nums[i]<nums[i]
     * 当 dp[i - 1] > 0时：执行 dp[i] = dp[i-1] + nums[i]；
     * 当 dp[i - 1] >0时：执行 dp[i] = nums[i]+dp[i-1]
     */
    public int maxSubArray(int[] nums) {
        int max=nums[0];
        for (int i = 1; i < nums.length; i++) {
            if(nums[i-1]<0){
                max= Math.max(max,nums[i]);
            }else {
                nums[i]=nums[i-1]+nums[i];
                max=Math.max(max,nums[i]);
            }
        }
        return max;
    }
}
